feat(bivariate): approximant-basis and hybrid GS interpolation - #291
feat(bivariate): approximant-basis and hybrid GS interpolation#291dhsorens wants to merge 2 commits into
Conversation
Build Timing Report
Incremental Rebuild Signal
Slowest Current Build Files (warm library build)Showing 20 slowest current targets from the warm library build log, with comparison against the baseline clean build log when available.
|
🤖 PR SummaryThis PR adds two new Guruswami–Sudan interpolation backends—approximant-basis (PM-Basis) and hybrid—along with the supporting polynomial‑matrix infrastructure and correctness proofs. The changes are concentrated in Mathematical Formalization
Proof Completion (no sorries)All proofs in the new files are complete. No Documentation
Testing
DependenciesThis PR depends on #290 (Shoup / Las Vegas roots) and supersedes the earlier #255. Merge order: #290 first, then this PR (or restack onto Statistics
Lean Declarations ✏️ Removed: 3 declaration(s)
✏️ Added: 748 declaration(s)
…and 598 more not listed. ✏️ Affected: 1 declaration(s) (line number changed)
Coverage Notes
📄 **Per-File Summaries**
No
Last updated: 2026-09-02 14:16 UTC. |
b451fac to
d07299b
Compare
d07299b to
9c09d84
Compare
Re-land olympichek's approximant-basis and hybrid Guruswami-Sudan interpolation backends from #255 onto the roots re-land stack (#290). - PolynomialMatrix.Approximant: PM-Basis, modular key equations, partial linearization, with soundness/completeness - GS ApproximantBasis + Hybrid (budgeted Lee fallback) as GSInterpContext - WitnessDivisibility quasi-linear multiplicity check - Named KoalaBear contexts in Implementations; matrix ops/Strassen helpers - Module-system port; shortened ApproximantBasis leaf paths for lint - Docs/ROADMAP: four interpolation backends documented Co-authored-by: Derek Sorensen <d@dhsorens.com>
The approximant/hybrid stack elaborated 70 declarations with overlapping instance parameters. `main` and #290 are warning-free, so this was a regression against a clean baseline and against docs/wiki/typeclass-minimization.md. Two distinct causes: - 63x `[Field F]` with a redundant `[Nontrivial F]`, from eight `variable` lines carrying both. Removed the redundant binder and the matching entries in the dependent `omit ... in` lines. - 7x `[Field F]` with a redundant `[Zero F]`, on declarations sitting inside a `variable ... [Field F]` scope. This is the harmful case: Lean reports the two can infer conflicting `Zero F`, an instance diamond. Removed `[Zero F]` from the six `ModularEquation` accessors and from `pmBasisFuel`. The `[Zero F]` on the `ModularEquation` and `AdaptiveSolveState` structures is kept: those rebind `F` themselves, do not overlap, and are correct typeclass minimization. No signature is weakened. Every affected declaration already carried `[Field F]` through the enclosing `variable`, so the removed binders were duplicates rather than assumptions. Verified: lake build (0 warnings, 0 errors), lake test, lint-style, update-lib/check-imports, check-docs-integrity.
9c09d84 to
eeff579
Compare
|
I split this into two PRs |
Summary
Stacked re-land of olympichek’s (Valerii Huhnin) #255 work on top of #290 (Shoup / Las Vegas roots).
Adds two Guruswami-Sudan interpolation backends plus matrix infrastructure:
Stack
Merge #290 first, then this PR (or restack onto
mainafter #290 merges).Attribution
Authors:headers.Supersedes
Closes #255
Idiom notes
update-lib.sh.GSInterpContext/Implementationspattern.overlappingInstanceslinter warnings remain on ported[Field F] [Zero F]pairs — follow-up cleanup without changing contracts.Test plan
lake build(approximant stack + Implementations)